n,m=map(int,input().split())
a=[]
for i in range(n):
a.append(min(list(map(int,input().split()))))
print(max(a))
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main() {
int t = 1;
//cin >> t;
while (t--) {
ll n , m;
cin >> n >> m;
ll mx = 0;
for(int i = 0; i < n;i++){
ll mn = 1e9 , a;
for(int j =0 ; j <m;j++){
cin >> a;
mn = min(mn , a);
}
mx = max(mx , mn);
}
cout<<mx;
}
}
550B - Preparing Olympiad | 939B - Hamster Farm |
732A - Buy a Shovel | 1220C - Substring Game in the Lesson |
452A - Eevee | 1647B - Madoka and the Elegant Gift |
1408A - Circle Coloring | 766B - Mahmoud and a Triangle |
1618C - Paint the Array | 469A - I Wanna Be the Guy |
1294A - Collecting Coins | 1227A - Math Problem |
349A - Cinema Line | 47A - Triangular numbers |
1516B - AGAGA XOOORRR | 1515A - Phoenix and Gold |
1515B - Phoenix and Puzzle | 155A - I_love_username |
49A - Sleuth | 1541A - Pretty Permutations |
1632C - Strange Test | 673A - Bear and Game |
276A - Lunch Rush | 1205A - Almost Equal |
1020B - Badge | 1353A - Most Unstable Array |
770A - New Password | 1646B - Quality vs Quantity |
80A - Panoramix's Prediction | 1354B - Ternary String |